/*
 * COPYRIGHT. ShenZhen JiMi Technology Co., Ltd. 2017.
 * ALL RIGHTS RESERVED.
 *
 * No part of this publication may be reproduced, stored in a retrieval system, or transmitted,
 * on any form or by any means, electronic, mechanical, photocopying, recording, 
 * or otherwise, without the prior written permission of ShenZhen JiMi Network Technology Co., Ltd.
 *
 * Amendment History:
 * 
 * Date                   By              Description
 * -------------------    -----------     -------------------------------------------
 * 2017年7月6日    Li.Shangzhi         Create the class
 * http://www.jimilab.com/
 */

package com.jimi.samples.pay.dto.output;

import java.math.BigDecimal;
import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;

import com.jimi.commons.DatetimeUtil;
import com.jimi.dto.base.OutputDto;

/**
 * @FileName PayTokenOutputDto.java
 * @Description:
 *
 * @Date 2017年7月6日 下午2:27:25
 * @author Li.Shangzhi
 * @version 1.0
 */
public class PayTokenOutputDto extends OutputDto {

	private static final long serialVersionUID = 1L;
	/**
	 * id
	 */
	private String id;
	/**
	 * 交易号
	 */
	private String tradeNo;
	/**
	 * 交易类型（1-imei续费、2-流量卡充值）
	 */
	private Integer tradeType;
	/**
	 * 充值人
	 */
	private String userId;
	/**
	 * 支付方式 （0.微信 1.支付宝）
	 */
	private Integer payMethod;
	/**
	 * 商品详情
	 */
	private String productDetail;
	/**
	 * 交易状态(0 未支付 1 已支付)
	 */
	private Integer status;
	/**
	 * 支付金额
	 */
	private BigDecimal amount;
	/**
	 * 支付时间
	 */
	private Date payTime;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 标记号
	 */
	private Integer markNum;

	public PayTokenOutputDto() {
	}

	public PayTokenOutputDto(String id) {
		this.id = id;
	}

	public void setId(String value) {
		this.id = value;
	}

	public String getId() {
		return this.id == null ? null : this.id.trim();
	}

	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}

	public String getTradeNo() {
		return this.tradeNo == null ? null : this.tradeNo.trim();
	}

	public void setTradeType(Integer tradeType) {
		tradeType = tradeType == null ? 0 : tradeType;
		this.tradeType = tradeType;
	}

	public Integer getTradeType() {
		return this.tradeType == null ? null : this.tradeType;
	}

	public void setUserId(String value) {
		this.userId = value;
	}

	public String getUserId() {
		return this.userId == null ? null : this.userId.trim();
	}

	public void setPayMethod(Integer value) {
		value = value == null ? 0 : value;
		this.payMethod = value;
	}

	public Integer getPayMethod() {
		return this.payMethod == null ? 0 : this.payMethod;
	}

	public void setProductDetail(String value) {
		this.productDetail = value;
	}

	public String getProductDetail() {
		return this.productDetail == null ? null : this.productDetail.trim();
	}

	public void setStatus(Integer value) {
		value = value == null ? 0 : value;
		this.status = value;
	}

	public Integer getStatus() {
		return this.status == null ? 0 : this.status;
	}

	public void setAmount(BigDecimal value) {
		this.amount = value;
	}

	public BigDecimal getAmount() {
		return this.amount;
	}

	public void setPayTime(Date value) {
		this.payTime = value;
	}

	public Date getPayTime() {
		return this.payTime;
	}

	public String getStringPayTime() {
		if (this.payTime == null) {
			return null;
		}
		return DatetimeUtil.DateToString(this.payTime, DatetimeUtil.LONG_DATE_TIME_PATTERN);
	}

	public void setCreateTime(Date value) {
		this.createTime = value;
	}

	public Date getCreateTime() {
		return this.createTime;
	}

	public String getStringCreateTime() {
		if (this.createTime == null) {
			return null;
		}
		return DatetimeUtil.DateToString(this.createTime, DatetimeUtil.LONG_DATE_TIME_PATTERN);
	}
	public void setMarkNum(Integer markNum) {
		markNum = markNum == null ? 0 : markNum;
		this.markNum = markNum;
	}

	public Integer getMarkNum() {
		return this.markNum == null ? 0 : this.markNum;
	}

	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
